Currently, most computers include within memory a variety of software applications and an operating system, which are both implemented by a processor. In general, operating systems control the allocation and usage of hardware resources, such as memory, processor time, disk space, input/output (I/O) devices, and other peripherals. The operating system creates a common platform for all software applications on a computer. In other words, the operating system functions as an all-encompassing bridge between the hardware resources and the software applications that use the hardware resources.
When a computer is turned on or rebooted, the operating system is loaded from memory and a variety of initialization and/or configuration programs are run. Many current operating systems include a system initialization program configured to launch a plurality of application programs specified in the program. Such operating systems typically determine the list of application programs to be launched, and then merely launch the applications at once. The operating system does not enable the application programs to be launched in a predetermined manner. This may be problematic in situations where it is desirable to control the manner in which the application programs are to be launched by the operating system.